home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / utils / egale21e.lzh / EGALE.E / EGALE.TXT < prev    next >
Text File  |  1994-11-09  |  83KB  |  2,068 lines

  1. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2.                        The tool for easy file comparisons, 
  3.                              alteration and analysis
  4.                             © 1993,94 by David Reitter
  5.                Égale is Shareware and may be copied unchanged.
  6. ______________________________________________________________________________
  7.  
  8.                     Version 2.1i, dated 1st November 1994
  9.  
  10. ==============================================================================
  11.  
  12.  
  13.  
  14.                                        Manual
  15.                    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. ***** Contents
  31.  
  32.  1.    Introduction
  33.  1.1   What's Égale for?
  34.  1.2   Features
  35.  1.3   Distribution and your Shareware obligations
  36.  1.3.1 Updates
  37.  1.3.2 Égale UK Support and Registration
  38.  1.3.3 Égale registration outside the UK
  39.  1.4   Égale origins
  40.  1.5   User interface
  41.  1.5.1 Using dialogs
  42.  1.5.2 Pop-up menus
  43.  1.5.3 Keyboard shortcuts
  44.  2.    'File' drop down menu
  45.  2.1   Open...
  46.  2.2   Open binary...
  47.  2.3   Close
  48.  2.4   Discard
  49.  2.5   Save as...
  50.  2.6   Create list...
  51.  2.6.1 Why use a patch program?
  52.  2.6.2 How to create a patch program
  53.  2.6.3 How to use a patch program
  54.  2.6.2 How to create a patch program
  55.  2.6.3 How to use a patch program
  56.  2.6.3 How to use a patch program
  57.  2.7   Information...
  58.  2.8   Quit
  59.  3.    'Find' drop down menu
  60.  3.1   Find...
  61.  3.1.1 'Find' examples
  62.  3.2   Find next
  63.  3.3   Jump...
  64.  3.3.1 Jump into action
  65.  3.4   Line equalisation...
  66.  3.4.1 Equalise: A step by step tutorial
  67.  3.5   - Automatic...
  68.  3.6   First difference OR First identical line
  69.  3.7   Next difference OR Next identical line
  70.  4.    'Edit' drop down menu
  71.  4.1   Undo
  72.  4.2   Insert text line...
  73.  4.3   Edit text line...
  74.  4.4   Insert line
  75.  4.5   Delete line
  76.  4.6   Load status log...
  77.  4.7   Save status...
  78.  4.8   Clear status...
  79.  5.    'Window' drop down menu
  80.  5.1   Cycle
  81.  5.2   Help
  82.  5.3   Files
  83.  6.    'Options' drop down menu
  84.  6.1   Comparison mode...
  85.  6.2   Number lines
  86.  6.3   Emphasis...
  87.  6.4   Display...
  88.  6.5   Fonts...
  89.  6.6   Colours...
  90.  6.7   Save settings...
  91.  6.8   Load saved settings...
  92.  6.9   Quick save and exit
  93.  7.    Other functions
  94.  9.1   Display functions
  95.  9.2   Single line comparison using one-line windows
  96.  9.3   Moving files
  97.  8.    Advanced Égale features
  98.  8.1   Passing parameters
  99.  8.2   Passing parameters using EGALEPAR.PRG
  100.  9.    Technical notes
  101.  9.1   Protocols supported
  102.  9.2   Known bugs
  103.  9.3   Hints & tips
  104.  10.   Miscellaneous
  105.  10.1  Credits
  106.  10.2  Warranty and liability
  107.  
  108. Hinweis: Es gibt eine deutschsprachige Version.
  109.  
  110.  
  111.  
  112. ____________________________________________________________________________
  113.  
  114. *****1. Introduction
  115.  
  116.  
  117.  
  118. 1.1 What's Égale for?
  119.  
  120. Here's a few examples:
  121. Two identical filenames on different disks, same filesize, same datestamp 
  122. but are they really exactly the same? When Égale loads two identical files 
  123. a dialog is displayed confirming they are identical, and you can either 
  124. select other files, exit or continue and display the files.
  125.  
  126. You update a program or document, then decide some of the changes you've 
  127. made are a backward step, and would like to review all the changes made 
  128. since you last saved a back-up. Load the current and back-up files into 
  129. Égale and the differences between the two files will be highlighted. You 
  130. can save the differences as a file and review these as desired.
  131.  
  132. You discover a minor but nasty bug in a program you've already released! 
  133. Load the original and updated executable files into Égale and after 
  134. following a simple procedure Égale will generate a compact patch program 
  135. which you can release to your users.
  136.  
  137. Égale provides a solution for everyone who has been confronted with these 
  138. or similar problems. Égale is useful to anyone who needs to compare or 
  139. 'hack' files, programmers, journalists, etc.
  140.  
  141. In principle these tasks could be performed using a text editor or other 
  142. application but Égale (as far as we are aware) is the only custom 
  143. application designed to manage these tasks which it does with the minimum 
  144. of fuss via an enhanced GEM interface. Save your brain, let Égale take 
  145. the strain!
  146.  
  147. 1.2 Features
  148.  
  149. - Two files are loaded in each window and displayed side by side, 
  150.   adjacent to one another, with the window divided vertically.
  151. - Égale can also load a single file so that you can analyse its format 
  152.   or amend it. This feature turns Égale into a binary editor for patches 
  153.   and similar applications.
  154. - Any file size up to the limit imposed by the available working memory 
  155.   in your machine can be loaded...
  156. - Compare both text and binary files.
  157. - Delete individual lines or characters or insert dummy (blank) lines 
  158.   between them.
  159. - Various features available to assist in locating differences:
  160. + Individual lines can be displayed one above the other in an extra 
  161.   one-line window to make visual comparison easier.
  162. + Can locate inserted and deleted parts of a file in comparison with 
  163.   another file automatically.
  164. + Line numbering, optional.
  165. + Comparison of characters OR by interpreting each line as a numerical 
  166.   value (handy for adjusting spreadsheet data). The numerical value can 
  167.   be asigned a 'tolerance'. Any value which falls within the defined 
  168.   tolerance range are considered equal by Égale.
  169. + Status log/Diff file (containing the position of inserted and deleted 
  170.   lines) can be saved and loaded.
  171. + Wildcard search function.
  172. + Jump (Goto) to any desired line number, relative to the current line 
  173.   or from the start line (absolute).
  174. - Loaded files can be exported directly to an editor of your choice for 
  175.   further processing.
  176. - Vertical divider bar separating two files in each window can be 
  177.   freely positioned.
  178. - [Help] key displays keyboard shortcuts, and context-sensitive help in 
  179.   dialogs if ST-Guide or other hypertext system is installed.
  180. - Enhanced GEM interface, runs on ST, TT and Falcon030 computers. Supports 
  181.   multitasking systems under TOS at all screen resolutions from 640x200 
  182.   pixels (ST medium) upwards.
  183. + There are minor problems with the display of small text at 640x200 so 
  184.   a seperate RSC file EGALEMID.RSC is provided. To use this rename the 
  185.   existing EGALE.RSC file to EGALE.RSH, then EGALEMID.RSC to EGALE.RSC.
  186.   Remember to reverse the process when you want to run at higher 
  187.   resolutions or Égale will behave strangely!
  188.  
  189. 1.3 Distribution and your Shareware obligations
  190.  
  191. Distribution of Égale is encouraged for non-commercial purposes. PD and
  192. Shareware libraries may also distribute Égale so long as I am informed 
  193. in writing. The following files comprise Égale and must be distributed
  194. together and intact:
  195.  
  196. EGALE.PRG         Égale executable
  197. EGALE.RSC         RSC file for all resolutions above 600x200
  198. EGALEMID.RSC      RSC file for 600x200 (ST Medium resolution); rename 
  199.                   EGALE.RSC to EGALE.RSH then rename EGALEMID.RSC to 
  200.                   EGALE.RSC when you want to run Égale in ST Medium rez.
  201. EGALE.DOC         This documentation
  202.  
  203. Égale may only be included on magazine cover disks, CD-ROM or other 
  204. compilations with the author's prior written permission.
  205.  
  206. Any contravention of my wishes is a breach of Copyright and this Shareware 
  207. statement and will be strongly challenged!
  208.  
  209. Égale is Shareware. The current UK Shareware fee is £10.00 and if you 
  210. use Égale regularly your obligations under Copyright law are clear. 
  211. After a short evaluation period, either register your copy or stop 
  212. using Égale.
  213.  
  214. The future development of Égale depends largely on the support from you. 
  215. Although the unregistered version of Égale is perfectly usable the 
  216. benefits of registration are considerable:
  217.  
  218. o Option to compare files for similarities as well as differences.
  219. o One can save parts of the files.
  220. o One can create lists of differences or similarities.
  221. o One can create patch programs which can be used to 
  222.   alter a source file to correspond with a (so-called) target file.
  223. o Instead of simply toggling the Emphasis option on/off a dialog appears
  224.   from which the following extra options are available:
  225.   Use colours, Bold, Hide the rest, Divider only, Mark each character,
  226.   First target, All and Inserts.
  227. o Automatic line equalisation is available for whole files.
  228. o The form of the line-cursor can be changed to give a clearer display 
  229.   under some conditions.
  230. o Pop-up menu offers extra options to make tab characters in text 
  231.   visible in different ways and to vary the width of tab stops.
  232. o Another pop-up menu in 'Display...'  allows one to view the displayed files 
  233.   subdivided with faint horizontal lines. Égale can draw thin graphic 
  234.   lines at 2 or 4 line intervals which is particularly useful in binary 
  235.   mode to indicate word or longword boundaries.
  236. o An Info line provides information about the line at the cursor.
  237. o Registered users will get a printed quick-reference summary giving 
  238.   an overview of the functions and options offered.
  239.   (If registered via Joe Connor)
  240. o Access to the UK Update and support service.
  241.  
  242.  
  243. 1.3.1 Updates
  244.  
  245. You can get the actual version of Égale
  246.  
  247. - at the KGB Wiesbaden Mailbox:
  248.   Call +49-611-375201, log in as "EGALE", password "EGALE".
  249.   You will be asked which version (International English language version 
  250.   or the German one) you'd like to get. The BBS will transmit Égale using 
  251.   the Z-Modem protocol.
  252. - from Joe Connor (see 'Égale UK Support and Registration')
  253. - from David Reitter (see 'Égale registration outside the UK')
  254.  
  255. 1.3.2 Égale UK Support and Registration
  256.  
  257. On registration you will receive a 'Key' to 'unlock' the Registered user 
  258. only features. To register your copy of Égale in the UK follow the 
  259. procedure below:
  260.  
  261. a) Make a cheque for £10.00 payable to Joe Connor
  262. b) Be sure to include your surname, forename and full address.
  263.    The Égale 'Registration dialog' offers a convienent method of ordering 
  264.    your key with the added benefit of checking the format of your 
  265.    details. Enter your details and press [Alternate]+[R] or click on the 
  266.   'Order' button. After validating your details a further dialog appears 
  267.    from which you can output the letter either directly to the printer or 
  268.    to a file for further processing, for example to send as Email.
  269. c) Send letter and cheque to the UK Address below:
  270.  
  271.  
  272.                     Joe Connor
  273.                     65 Mill Road
  274.                     Colchester
  275.                     CO4 5LJ
  276.                     England
  277.  
  278.                     Email: jconnor@cix.compulink.co.uk 
  279.  
  280.  
  281.  
  282. Update service
  283. Registered UK users can obtain the latest English Version from Joe Connor 
  284. at any time, free of charge until otherwise notified, by sending a Stamped 
  285. Addressed Envelope enclosing a floppy disk - so long as the latest version 
  286. has not become commercial.
  287.  
  288. Installing your Key
  289. Enter your key details into the registration dialog and press [Return] 
  290. twice to clear the dialogs, then select 'Save default settings' from the 
  291.  'Options' menu to save the registration details (in EGALE.INF). So long as 
  292. you don't delete your copy of EGALE.INF and I don't change the format you 
  293. won't be troubled by the registration procedure in future Égale updates.
  294.  
  295. Remember Égale uses the EGALE.INF file to store your personal preferences 
  296. and key so be sure to delete EGALE.INF before passing copies of Égale on to 
  297. friends or other users.
  298.  
  299. 1.3.3 Égale registration outside the UK
  300.  
  301. You can either register as detailed in Égale UK Support and Registration 
  302. above or as follows:
  303.  
  304. 1) By Email
  305.    If you have a modem and access to the Maus net send your details to
  306.    the following address:
  307.    From inside the Maus net: David Reitter @ WI2
  308.    Via the Internet: david_reitter@wi2.maus.de
  309.  
  310.    Transfer 20.- DM to me. Here's my Bank details:
  311.  
  312.                         David Reitter
  313.                         KTO (Account No.): 0229 773
  314.                         BLZ (Sort code)  : 550 700 40
  315.                         Deutsche Bank Mainz
  316.  
  317.    A suitable key will be returned by Email.
  318.  
  319. 2) By post
  320.    Send me:
  321.    A 20.- DM note together with your registration details, a self addressed
  322.    envelope (or label) and 2 International Reply Coupons.
  323.  
  324.    Your key will follow by return of post.
  325.  
  326. Important!
  327. o If anything is missing, nothing will come back, you have been warned!
  328. o Those that register agree that their data may be stored in electronic 
  329.   form on a computer.
  330. o Registered users will get a printed quick-reference summary giving an 
  331.   overview of the functions and options offered (only if registered via
  332.   Joe Connor!). They can also send me a formatted disk, a self-addressed 
  333.   envelope and two International Reply Coupons at any time to receive the 
  334.   latest version of Égale, as long as this version is not being distributed 
  335.   commercially, or may, if they wish and have a modem, obtain the latest 
  336.   beta-test version from the Wiesbaden Mailbox.
  337. o Unregistered users can obtain a new version from me (once only) by post.
  338.  
  339.  
  340.                               David Reitter
  341.                               Albinistr. 10
  342.                               D-55116 Mainz
  343.                               Germany
  344.  
  345. 1.4 Égale origins
  346.  
  347. Égale was originated by Christof Schardt. At that time the program was 
  348. still called COMPARE and did not use GEM, so ran only in ST high 
  349. resolution. At the start of 1993 COMPARE was completely re-programmed and 
  350. incorporated the usage of GEM. It's now called 'Égale'.
  351.  
  352. Why 'Égale'? 'égal' in French means 'equal', 'égale' is the feminine form. 
  353. And why should all programs bear some sort of English name?! We've 
  354. graciously ignored the fact that one doesn't use accents with (French) 
  355. capital letters !
  356.  
  357.                    ..The programmer:...................
  358.                    :                                  :
  359.                    : David Reitter                    :
  360.                    : Albinistr. 10                    :
  361.                    : 55116 Mainz                      :
  362.                    : Germany                          :
  363.                    : Tel.: +49 6131 233255            :
  364.                    : Email: david_reitter@wi2.maus.de :
  365.                    :..................................:
  366.  
  367. 1.5 User interface
  368.  
  369. Thanks to its GEM operation the usage of Égale is largely self-explanatory. 
  370. That makes it that much harder to explain everything in these instructions 
  371. in a way that is easily understood. Instead of listing all the menu points 
  372. these instructions are divided into sections related by meaning.
  373.  
  374. Égale uses all the popular features of the enhanced GEM interface. Most of 
  375. these features are now in common usage in other software. Here's an 
  376. overview:
  377.  
  378.  
  379. 1.5.1 Using dialogs
  380.  
  381. Égale dialogs can be displayed in windows. The following features are 
  382. available:
  383.  
  384. - Selectable objects include an underlined character.
  385.  
  386.  
  387. - The 'Cancel' button in dialogs and alert boxes can be selected by 
  388.   pressing the [Undo] key.
  389. - The 'Asses ear' at the top right of most dialog boxes can be used to 
  390.   move dialog boxes around the screen. A click and drag operation is used; 
  391.   during flight dialogs become invisible.
  392.  
  393. 1.5.2 Pop-up menus
  394.  
  395.  
  396.  
  397. Each bold dialog option button contains a pop-up menu. Click on the button 
  398. to display all the menu options or click on the circular arrow box to cycle 
  399. through the available options. Further options can be selected using either 
  400. the mouse or keyboard. Click on an option using the mouse to select it or 
  401. click away from the pop-up menu to close without making a selection.
  402.  
  403. The following keyboard commands are active within pop-up menus:
  404.  
  405. Key                                 Action
  406. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  407. [Up-arrow]      Move selection bar up.
  408. [Down-arrow]    Move selection bar down.
  409. [Return]        Select entry.
  410. [Undo]          Exit pop-up without selection.
  411. [Esc]           Exit pop-up without selection.
  412. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  413.  
  414. 1.5.3 Keyboard shortcuts
  415.  
  416. 'Within this document square brackets' '[...]' ' are used to denote keys 
  417. on the keyboard.' 
  418.  
  419. The [Shift] keys within Égale are 'NOT' interchangeable. Use the left 
  420. [Shift] key for the left part of a divided window and the right [Shift] 
  421. key for the right part of the window; logical, eh? Keyboard shortcuts are 
  422. listed next to each menu entry. Here are the details:
  423.  
  424. (Top hat).......................... '^' = [Control] key.
  425. (Up-arrow)......................... ' ' = [Shift] key.
  426. (Looks like Window fuller icon).... ' ' = [Alternate] key.
  427.  
  428. Keyboard control
  429. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  430. [Left-arrow]            Window scrolls 5 characters left.
  431. [Right-arrow]           Window scrolls 5 characters right.
  432. [Up-arrow]              Marker moves 1 line up, window scrolls if at edge.
  433. [Down-arrow]            Marker moves 1 line down, window scrolls if at edge.
  434. [Shift]+[Left-arrow]    Window scrolls 1 character left.
  435. [Shift]+[Right-arrow]   Window scrolls 1 character right.
  436. [Shift]+[Up-arrow]      Window scrolls 1 screen page up.
  437. [Shift]+[Down-arrow]    Window scrolls 1 screen page down.
  438. [ClrHome]               Marker positioned on first line.
  439. [Shift]+[ClrHome]       Marker positioned on last line.
  440.  
  441.  
  442. ____________________________________________________________________________
  443.  
  444. *****2. 'File' drop down menu
  445.  
  446.  
  447.  
  448. 2.1 Open...
  449.  
  450. Select this option to load and display files in text mode. Unless Égale 
  451. is passed file/s as parameters, e.g. from a command line, the file 
  452. selector appears in which one or two files must be selected in turn 
  453. followed by 'OK.'  
  454.  
  455. If the first selected file is executable (ACC, APP, PRG, TOS or TTP) a
  456. dialog appears asking whether the file should be loaded in binary mode.
  457.  
  458. If you select 'Cancel' in the second file selector, i.e. specify only
  459. one file, then Égale will only load a single file. This can be useful
  460. for analysing file formats, as well as for editing (binary) files.
  461.  
  462. Wildcards are allowed in the file selector, for example: FILE?.TXT
  463. would load the first two matching files - if you had a series of files 
  464. FILE1.TXT, FILE2.TXT, FILE3.TXT ...  then FILE1.TXT and FILE2.TXT 
  465. would be loaded. If two matching files are found they're loaded and the 
  466. second file selector isn't displayed.
  467.  
  468. If you're using Selectric™ and you select more than two matching files 
  469. the first two matches are loaded.
  470.  
  471. If there's not enough memory to load files, they can be compared. 
  472. The position of the first difference is displayed.
  473.  
  474. If one is loading in text file mode (i.e. 'Open binary...' has not been
  475. used) and the file being loaded contains ASCII 0 (NULL) characters, 
  476. then these have to be converted. Égale will ask you to what character 
  477. they should be converted: 
  478.   - 'SPACE'  (Space character ' ', ASCII 32)
  479.   - 'ø'     (ASCII 179)
  480.   - 'TAB'    (Tabulator 'clock' character, ASCII 9)
  481.  
  482. Then the files will be loaded and displayed in a newly opened single 
  483. GEM window. All the 'gadgets' and scroll bars behave normally.
  484.  
  485. 2.2 Open binary...
  486.  
  487. Select this option to load and display files in binary mode. Unless Égale 
  488. is passed file/s as parameters, e.g. from a command line, the file selector 
  489. appears in which one or two files must be selected in turn followed by 'OK.' 
  490.  
  491. In binary mode only one byte per line is displayed on screen. Each byte is 
  492. displayed in hex, decimal, binary and ASCII format. Some functions are 
  493. unavailable (greyed out) in binary mode.
  494.  
  495. Otherwise the loading of binary files proceeds in the same way as for 
  496. loading text files.
  497.  
  498. 2.3 Close
  499.  
  500. Selecting 'Close' or clicking on the 'close' icon (top left hand corner) 
  501. closes the window but holds the files in memory, which means it may be 
  502. re-opened by clicking on one of the entries in the 'Window' menu, or 
  503. pressing [Alternate]+ corresponding number.
  504.  
  505. 2.4 Discard
  506.  
  507. One-line window/s can be discarded by clicking on their 'close' icon or, 
  508. if you are closing the file window which called them, by clicking on the 
  509. 'close' icon of that file window.
  510.  
  511. File windows must be discarded (rather than closed) to remove them from 
  512. memory, which may be neccessary if you're running short of memory.
  513.  
  514. 2.5 Save as...
  515.  
  516. Select this option to save a file to disk. Enter or select a filename
  517. using the file selector then select 'OK'. The file is stored in the
  518. original format. Insertions are stored as a blank line or (in binary
  519. mode) as a NUL byte (ASCII 0).
  520.  
  521. 2.6 Create list...
  522.  
  523. Select this option to display the 'Output' dialog. 
  524. The following options are available:
  525.  
  526.  
  527. Save part of the file
  528.  
  529. Select this option to save any parts of a file. Having selected 
  530. 'Save part of the file' , you can setup the following options:
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555. 'File:' 
  556. Select which file is to be saved. The filenames of the file(s) in the 
  557. topped window are displayed. If you have loaded two files you can toggle 
  558. between them. A round filled button shows the selected file.
  559.  
  560. 'As bytes list:'  [Alternate]+[B]  --* Binary files ONLY *-- 
  561. A check box offers a choice between:
  562. 'Unchecked:' Default. Binary file saved in the same format as loaded, thus an 
  563.            executable file remains executable.
  564. 'Checked:'   File saved as character list (as displayed in the file window)
  565.            with hex, decimal, binary and ASCII columns.
  566.            Optionally, only if this box is checked, line numbers can also 
  567.            be saved and the 'Print' button is available.
  568.  
  569. 'Number lines:'  [Alternate]+[N]
  570. This option is not available (greyed out) if a binary file is selected in 
  571. binary format.
  572. A check box offers a choice between:
  573. 'Unchecked:' Default. Line numbers are not saved with the file.
  574. 'Checked:'   Line numbers are saved with the file.
  575.  
  576. 'Insertions and deletions:' 
  577. 'Omit insertions:'  [Alternate]+[I]
  578. A check box offers a choice between:
  579. 'Unchecked:' Default. Insertions made with the 'Insert text line...' function 
  580.            are saved with the file.
  581. 'Checked:'   Insertions are not saved with the file.
  582.  
  583. 'Text:' An editable text field (22 characters max) enable a text string to 
  584. be written to the file in place of the inserted lines. If this field is 
  585. empty (by default this field contains '-') a blank line is written.
  586.  
  587. 'Write deletions:'  [Alternate]+[W]
  588. A check box offers a choice between:
  589. 'Unchecked:' Default. Deleted lines are not saved to the file.
  590. 'Checked:'   Deleted lines are saved to the file (losing your changes!).
  591.  
  592. The defaults are set to save all the changes you make to a file.
  593.  
  594. 'What?:' 
  595. It's easier to handle the 'From line:' and 'to:' options if the 
  596. 'Number lines'  option from the 'Options' menu is turned on.
  597.  
  598. 'From line:' (Default '1') Select the first line to be saved.
  599. 'to:'        (Defaults to last line of file) Select the last line to be saved.
  600.  
  601. 'Only different ones' OR 'Only identical ones:'  [Alternate]+[Y]
  602. A check box offers a choice between:
  603. 'Unchecked:' Default. All lines between the 'From line:' and 'to:' options are
  604.            saved to the file.
  605. 'Checked:'   All differing OR matching lines, depending on the 'Search for'  
  606.            setting in the 'Comparison mode'  dialog, between the 'From line:' 
  607.            and 'to:' options are saved to the file.
  608.  
  609. Hints & tips
  610. The option to save only the different (or identical) lines, used together 
  611. with line numbering, makes it easy to keep track of the changes between 
  612. files.
  613.  
  614. 'Print:'  [Alternate]+[P]
  615. This button outputs the selected data to the printer. This option is not 
  616. available (greyed out) if a binary file is selected in binary format.
  617.  
  618. --> Unregistered?
  619.     The 'Save file' function is not available in the unregistered version.
  620.  
  621. List of differences/correspondences
  622.  
  623. A list of difference/correspondences, depending on the 'Search for' setting 
  624. in the 'Comparison mode'  dialog, can be saved or printed in 'xx/yy' format. 
  625.  
  626. Example:
  627. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  628. Differences between
  629. D:\EGALE\EXAMPLE5.TXT / D:\EGALE\EXAMPLE6.TXT
  630.   7/7
  631.  15/15
  632. e--/16
  633.  25/26
  634.  30/31
  635. e55/--
  636.  79/79
  637. .../
  638. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  639. The file 'EXAMPLE5.TXT' has differences in lines 7, 15, 25, 30 and 79 
  640. compared to the second file. The corresponding line number in 'EXAMPLE6.TXT' 
  641. is also indicated (after the '/').
  642.  
  643. Inserted lines are indicated by a broken line ('--') and an 'i' is placed 
  644. at the start of the line; deleted lines are not mentioned!
  645.  
  646. The '...' dots at the end indicates the two files (including any insertions 
  647. and deletions already made) have a different length.
  648. If the dots are to the left of the '/' there are more lines in the left 
  649. hand file and vice versa.
  650.  
  651. 'With relevant lines: ' [Alternate]+[W]
  652. A check box offers a choice between:
  653. 'Unchecked:' Default. The contents of the corresponding lines/characters are 
  654.            not saved to the list.
  655. 'Checked:'   The contents of the corresponding lines/characters are included 
  656.            below (with text files) or next to (with binary files) the 
  657.            usual list data, described above.
  658.  
  659. --> Unregistered?
  660.     The 'List of differences' function is not available in the unregistered
  661.     version.
  662.  
  663. Patch program
  664.  
  665. It's possible to create an executable program (PRG) which can be used to 
  666. alter a source file to correspond with a (so-called) target file. This is 
  667. commonly referred to as a 'Patch program' and is used to update minor 
  668. differences between files.
  669.  
  670. The 'Print' button is not available (greyed out) if patch program 
  671. option is selected.
  672.  
  673.  
  674. 2.6.1 Why use a patch program?
  675.  
  676. Patch programs evolved mainly for the benefit of on-line users where every 
  677. byte costs money to transmit. They're commonly used to update executables 
  678. but can also be used to update documentation.
  679.  
  680. Let's suppose you've just released a 200kb masterpiece for beta testing and 
  681. after a number of minor bugs have been reported you want to release a fixed 
  682. version. What are your options?
  683.  
  684. - Send each beta tester a new file? Expensive and time consuming...
  685. - Send each beta tester a list which they can use to manually patch their 
  686.   copy using a hex-editor? Error prone and awkward...
  687. - Send them a small patch program which automatically updates their copy?
  688.  
  689.  
  690. 2.6.2 How to create a patch program
  691.  
  692. 1) Load the 'BUGGED.PRG' followed by 'NEW.PRG' into Égale.
  693. 2) Ensure that 'Chap.numbers' (leading numbers) in the 'Ignore' area of the 
  694.  'Comparison mode'  dialog from the 'Options' menu is cleared otherwise 
  695.    Égale will not be able to recognise the relevant lines as different.
  696. 3) Equalise the files using either manual or automatic line equalisation.
  697. 4) Select 'Create List...' from the 'File' menu to display the patch dialog.
  698. 5) Select the 'Patch BUGGED.PRG to NEW.PRG'  option, then 'OK.' 
  699. 6) The file selector appears; enter a filename for the patch program, e.g. 
  700.     'PATCH.PRG' followed by 'OK.' 
  701. 7) Égale compares the two files line by line or byte by byte and creates an 
  702.    executable 'PATCH.PRG' which does the following:
  703.  
  704. - An inserted line in the source file will be added to the target file.
  705. - A deleted line in source file will be deleted in the target file.
  706. - Any differing lines will be replaced in the target file with the contents 
  707.   of the source file.
  708.  
  709. It's important to check the patch program worked correctly and the easiest 
  710. way to do this is to load the file generated by the patch program and 
  711. compare it with your updated master. If they are 'equal' everything worked! 
  712. The size of the patch program depends on two main factors:
  713. - The number of changes made to the source file. The more changes, the 
  714.   bigger the patch program (from an initial overhead of ~12kb). If there 
  715.   are too many changes the patch program can easily grow larger than the 
  716.   source program, which completely defeats the object!
  717. - The line length. Replacing long line/s dramatically increases the size of 
  718.   the patch program.
  719.  
  720.  
  721. 2.6.3 How to use a patch program
  722.  
  723. 1) Run PATCH.PRG and the file selector appears usually displaying the file 
  724.    it's looking for.
  725. 2) Load in 'BUGGED.PRG' followed by 'OK.' 
  726. 3) The patch program checks whether it's the file it's looking for then 
  727.    re-displays the file selector.
  728. 4) Enter the filename for the output program 'NEW.PRG' followed by 'OK.' 
  729. 5) The patch program generates 'NEW.PRG'.
  730.  
  731. 2.6.2 How to create a patch program
  732.  
  733. 1) Load the 'BUGGED.PRG' followed by 'NEW.PRG' into Égale.
  734. 2) Ensure that 'Chap.numbers' (leading numbers) in the 'Ignore' area of the 
  735.  'Comparison mode'  dialog from the 'Options' menu is cleared otherwise 
  736.    Égale will not be able to recognise the relevant lines as different.
  737. 3) Equalise the files using either manual or automatic line equalisation.
  738. 4) Select 'Create List...' from the 'File' menu to display the patch dialog.
  739. 5) Select the 'Patch BUGGED.PRG to NEW.PRG'  option, then 'OK.' 
  740. 6) The file selector appears; enter a filename for the patch program, e.g. 
  741.     'PATCH.PRG' followed by 'OK.' 
  742. 7) Égale compares the two files line by line or byte by byte and creates an 
  743.    executable 'PATCH.PRG' which does the following:
  744.  
  745. - An inserted line in the source file will be added to the target file.
  746. - A deleted line in source file will be deleted in the target file.
  747. - Any differing lines will be replaced in the target file with the contents 
  748.   of the source file.
  749.  
  750. It's important to check the patch program worked correctly and the easiest 
  751. way to do this is to load the file generated by the patch program and 
  752. compare it with your updated master. If they are 'equal' everything worked! 
  753. The size of the patch program depends on two main factors:
  754. - The number of changes made to the source file. The more changes, the 
  755.   bigger the patch program (from an initial overhead of ~12kb). If there 
  756.   are too many changes the patch program can easily grow larger than the 
  757.   source program, which completely defeats the object!
  758. - The line length. Replacing long line/s dramatically increases the size of 
  759.   the patch program.
  760.  
  761.  
  762. 2.6.3 How to use a patch program
  763.  
  764. 1) Run PATCH.PRG and the file selector appears usually displaying the file 
  765.    it's looking for.
  766. 2) Load in 'BUGGED.PRG' followed by 'OK.' 
  767. 3) The patch program checks whether it's the file it's looking for then 
  768.    re-displays the file selector.
  769. 4) Enter the filename for the output program 'NEW.PRG' followed by 'OK.' 
  770. 5) The patch program generates 'NEW.PRG'.
  771.  
  772. 2.6.3 How to use a patch program
  773.  
  774. 1) Run PATCH.PRG and the file selector appears usually displaying the file 
  775.    it's looking for.
  776. 2) Load in 'BUGGED.PRG' followed by 'OK.' 
  777. 3) The patch program checks whether it's the file it's looking for then 
  778.    re-displays the file selector.
  779. 4) Enter the filename for the output program 'NEW.PRG' followed by 'OK.' 
  780. 5) The patch program generates 'NEW.PRG'.
  781.  
  782. --> Unregistered?
  783.     The 'Patch program' function is not available in the unregistered
  784.     version.
  785.  
  786. 2.7 Information...
  787.  
  788. Select this option to display the 'Information...' dialog. The following 
  789. information about each file in the topped window is displayed:
  790.  
  791. 'File names:            Filename1  Filename2
  792. 'No. of lines:              x          y
  793. 'Differing lines:           x          y
  794. 'Average line length:       x          y
  795. 'Size (Bytes):              x          y
  796. 'Inserted/deleted:          x          y
  797. 'Maximum possible:        1000       1000'  (default)
  798.  
  799. A further button 'General Info'  [Alternate]+[G] can be used to display a 
  800. further 'General information' dialog. This dialog appears immediately if 
  801. file window is open. The following information is displayed:
  802.  
  803. 'Open/maximum windows:   x/y
  804. 'Open/maximum files:     x/y
  805. 'Lines per file:         Unlimited
  806. 'Available memory:'      The largest contiguous block is displayed in Bytes.
  807.  
  808. 2.8 Quit
  809.  
  810. Select this option to leave Égale; any changes to files and settings are 
  811. 'NOT' stored using this option.
  812.  
  813.  
  814. ____________________________________________________________________________
  815.  
  816. *****3. 'Find' drop down menu
  817.  
  818.  
  819.  
  820. 3.1 Find...
  821.  
  822. Select this option to display the 'Find' dialog. The following options 
  823. are available:
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849. 'In:' 
  850. If two files have been loaded in the topped window, both filenames are 
  851. displayed along with a check box for each filename. By default both files 
  852. will be searched (i.e. both check boxes are crossed). To restrict the 
  853. search to either file de-select the other file (i.e. clear its check box).
  854.  
  855. 'Input as ASCII value:'  [Alternate]+[V]
  856. A check box offers an option to search for the ASCII value equivalent(s) 
  857. of the actual string displayed in the editable 'Text:' field.
  858.  
  859. 'Text:' 
  860. Enter the desired search string into the editable field. In addition to 
  861. searching for normal text strings Égale can search for ASCII values if the 
  862. 'Input as ASCII value' option is active (checked). Enter the numbers in the 
  863. following format:
  864.  
  865. Decimal:     Enter the number                e.g. 144   for 'É'.
  866. Hexadecimal: Precede the number with a '$'   e.g  $90   for 'É'.
  867. Octal:       Precede the number with a '&O'  e.g  &O220 for 'É'. *
  868.  
  869. * The 'O' is capital O, NOT 0 (zero).
  870.  
  871. 'Options:' 
  872. 'Caps/l.c. sensitive:'  [Alternate]+[L]
  873. A check box offers the choice between:
  874. 'Unchecked:'  Default. The search is not case sensitive, i.e 'e'='E'.
  875. 'Checked:'    The search is case sensitive, i.e 'e' is not equal to 'E'.
  876.  
  877. 'Wildcards:'  [Alternate]+[W]
  878. These are commonly found in other programs and have become standardised 
  879. across different computer platforms as follows:
  880.  
  881. '*' represents any text string (the string may even be empty).
  882. '?' represents any single character.
  883.  
  884. A check box offers a choice between:
  885. 'Unchecked:'  (Default) Wildcards are treated as normal characters
  886. 'Checked:'    Wildcards '?' and '*' are active.
  887.  
  888. 'Character tolerance:' 
  889. Greyed out and not currently implemented.
  890.  
  891. After a successful search Égale always displays the found string in the
  892. visible part of the window, scrolling the line horizontally if necessary. 
  893. The found string is pinpointed by a brief growing and shrinking 
  894. rectangle centred on it and the line cursor covering just the found area.
  895. If a search string is found in the same line in both files in the window 
  896. then that in the left file will be highlighted.
  897.  
  898. With the 'Find next' menu entry or [Control]+[G] you jump to the next 
  899. occurrence of the search string in the text (if any).
  900.  
  901.  
  902. 3.1.1 'Find' examples
  903.  
  904. Search string...    finds...            but not...
  905. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  906. m?le                mile, mole          mill, mere
  907. m??l                meal, mill          motel
  908. vine*               vine, vineyard      vein
  909. large *room         large diningroom    large kitchen
  910.                     large bedroom       smallest room
  911.  
  912. Important!
  913. Matching strings which wrap around more than one line will also be found 
  914. and the cursor positioned on the first line.
  915. Example:
  916.  
  917. Search string...    finds...        and...
  918. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  919. fly*fish            flying fish     fly down to Florida
  920.                                     to catch some fish
  921.  
  922. 3.2 Find next
  923.  
  924. Select this option to continue to search the files using the current search 
  925. string from the current cursor location.
  926.  
  927. 3.3 Jump...
  928.  
  929. Select this option to display the 'Jump' dialog. The following options are 
  930. available:
  931.  
  932. 'Absolute:'  [Alternate]+[B]  The line number counted from the first line 
  933.                             of the file is jumped to.
  934. 'Relative:'  [Alternate]+[R]  The line separated from the current line by 
  935.                             the entered number is jumped to. Negative 
  936.                             values can also be entered to jump backwards 
  937.                             through files.
  938.  
  939. You can toggle between these two options. A round filled button shows the 
  940. active mode.
  941.  
  942. 'In:' 
  943. If two files have been loaded both filenames of the topped window are 
  944. displayed along with the default 'To position in window' option.
  945. You can toggle between these three options. A round filled button shows 
  946. the active mode.
  947.  
  948. 'To position in window:'  [Alternate]+[P]
  949. Égale takes account of any inserted and deleted line and jumps the 
  950. specified number of lines to the position that would be reached by moving 
  951. the line cursor the corresponding number of times within the file window.
  952.  
  953. If either filename is selected the jump is to the specified line number and 
  954. any lines inserted or deleted are not taken account of.
  955.  
  956.  
  957. 3.3.1 Jump into action
  958.  
  959. Take a look at our imaginary file and notice the dummy line inserted 
  960. between lines 2 and 3 and the two dummy lines inserted between 4 and 5. 
  961. Let's consider the 4 different possibilities of jumping 3 lines forwards:
  962.  
  963.      1 This is line one      
  964.      2 This is line two      
  965. (b)  --------------------
  966. (a)  3 This is line three  
  967. ---> 4 This is line four  <--- Line cursor starting position
  968.      --------------------
  969.      --------------------
  970. (c)  5 This is line five
  971.      6 This is line six
  972. (d)  7 This is line seven
  973.  
  974. Absolute/Relative  Either filename/Position in window  Final position
  975. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  976. Checked............................Checked............ (b)
  977. .........Checked...................Checked............ (c)
  978. .........Checked.. Checked............................ (d)
  979.  
  980. 3.4 Line equalisation...
  981.  
  982. Equalisation is used to align, as far as possible, two basically similar 
  983. files. This is achieved by inserting dummy lines into either file to match 
  984. up identical areas in the files.
  985.  
  986. Equalisation can quickly isolate changes in documentation and executables 
  987. but only makes sense if the two files are basically similar. Equalising two 
  988. completely different or identical files is pointless!
  989.  
  990. Consider the two files shown below which represent two basically similar 
  991. files. Before equalisation Égale recognises lines 1 and 2 as identical but 
  992. because line 3 differs, due to 'Insertion A', the rest of the file is 
  993. considered different.
  994.  
  995. Using equalisation we can instruct Égale to insert dummy lines into the 
  996. left hand file and progressively match up (or equalise) the two files.
  997.  
  998. Example:       EXAMPLE1.TXT     EXAMPLE2.TXT
  999. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  1000.  Line 2         Text 2           Text 2
  1001.  Line 3         Text 3           Insertion A
  1002.  Line 4         Text 4           Text 3
  1003.  Line 5         Text 5           Text 4
  1004.  Line 6         Text 6           Insertion B
  1005.  Line 7         Text 7           Insertion C
  1006.  Line 8                          Text 5
  1007.  Line 9                          Text 6
  1008.  Line 10                         Text 7
  1009.  
  1010.  
  1011. 3.4.1 Equalise: A step by step tutorial
  1012.  
  1013. Run Égale and load in the demo files 'EXAMPLE1.TXT' and 'EXAMPLE2.TXT' and 
  1014. your screen should appear similar to that in 'Line equalisation...' above.
  1015.  
  1016. Select:  Number lines entry from the 'Options' menu.
  1017. Result:  Lines are numbered.
  1018. Help:    So you can follow the steps more easily!
  1019.  
  1020. Action:  Use [Down-arrow] to move line cursor to line 3.
  1021. Help:    There's no point equalising line 1 and 2 because Égale already 
  1022.          indicates they are identical. Attempting to equalise an identical 
  1023.          line displays an alert box with the following message:
  1024.         'Both adjacent lines are identical.' 
  1025.  
  1026. Select:  ' Line equalisation...' from the 'Options' menu.
  1027. Result:  Dialog asks: 'Search for left or right line on opposite side?' 
  1028. Help:    In our example we want to search for the left hand text on Line 3 
  1029.          in the file on the right hand side, so...
  1030.  
  1031. Select: 'Left' 
  1032. Result:  Égale searches the right hand file for a matching line and if 
  1033.          found the 'Line equalisation' dialog appears, otherwise the the 
  1034.          system bell is sounded.
  1035. Help:    If a match is found the following information is displayed:
  1036.          The number of matching lines and the location of first matching 
  1037.          line relative to the current line; for our example this is:
  1038.         '2 equal lines found 1 line away' 
  1039.          This information gives us a good clue as to whether there might be 
  1040.          a better match elsewhere in the file; usually a large number of 
  1041.          matching lines indicates a good fit. A single line match, 
  1042.          particularly when comparing binary files, is unreliable because 
  1043.          any single character is likely to be repeated many times in a 
  1044.          single file. Four options are available; select the 'Always' 
  1045.          option to complete the tutorial:
  1046.  
  1047. Option: 'OK'  [Return] or [Enter] (default).
  1048. Result:  Égale equalises the line and exits the dialog. The file window is 
  1049.          updated with the addition of the dummy line and the first 5 lines 
  1050.          in the file window are shown as aligned.
  1051.  
  1052. Option: 'Always'  [Alternate]+[W]
  1053. Result:  Same as for 'OK' plus:
  1054.          The 'Line equalisation' dialog will not appear during subsequent 
  1055.          equalisations until either [Control] or [Alternate] are held down 
  1056.          whilst selecting 'Line equalisation...' 
  1057. Note:    If manual equalisation is called using [Control]+[K] you have to
  1058.          keep the [Control] key pressed during the 'Left/Right/Cancel' 
  1059.          dialog selection.
  1060. Help:    Because the 'Always' option doesn't display the 'Line equalisation' 
  1061.          dialog no information about the match is displayed, so you run the 
  1062.          risk of matching the wrong lines as mentioned earlier!
  1063.  
  1064. Option: 'Continue'  [Alternate]+[T]
  1065. Result:  XX
  1066.  
  1067. Option: 'Cancel'  [Alternate]+[C]
  1068. Result:  The 'Line equalisation' dialog is exited without making changes.
  1069.  
  1070. Select: 'Next difference'  [Control]+[N]
  1071.          The line cursor moves to line 5.
  1072.  
  1073. Select: 'Line equalisation...' from 'Options' menu.
  1074. Result:  Dialog asks: 'Search for left or right line on opposite side?' 
  1075.  
  1076. Select: 'Left' again.
  1077. Result:  Two dummy lines are inserted between lines 4 and 5 and the file 
  1078.          window is updated with all lines equalised.
  1079.  
  1080. Alternatively individual lines can be equalised by right mouse clicking on 
  1081. the left file to search for a match in the right hand file and vice versa. 
  1082. This avoids the 'Left/Right/Cancel' dialog. The 'Line equalisation' 
  1083. dialog appears as before offering the same options.
  1084.  
  1085. 3.5 - Automatic...
  1086.  
  1087. Select this option to display the 'Automatic line equalisation' dialog.
  1088.  
  1089. Égale attempts to equalise the two files by inserting dummy lines into both
  1090. the left and right parts of the window where neccessary to align the files.
  1091. This is similar to a series of manual line equalisations except both 
  1092. files are equalised in a single operation.
  1093.  
  1094. If you're not sure which parameters to use select the 'Default' button 
  1095. to restore the default settings which are suitable for most situations. 
  1096. The following options offer a degree of control over how lines are 
  1097. equalised:
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119. 'How many lines are needed for recognition after a 'gap'?' ' (Default '1').
  1120. Sets the minimum number of matching lines which must be found in the 
  1121. opposite file before Égale recognises the 'gap' as an insertion. 
  1122. Consider the following example:
  1123.  
  1124.  EXAMPLE3.TXT   EXAMPLE4.TXT     Comments                    
  1125. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  1126.   Text B         Text B          lines match...              
  1127.   Text C         Some text                                   
  1128.   Text D         inserted                                    
  1129.   Text E         Text C       -> Two consecutive              *
  1130.   Text F         Text D       -> matching lines               *
  1131.   Text G         Gap text                                    
  1132.   Text H         Text E       -> Only one matching line here  #
  1133.   Text I         Gap text     
  1134.  
  1135. If the 'gap' value is set to 1 both * and # would be equalised.
  1136. If the 'gap' value is set to 2 * would be equalised, but not #.
  1137. If the 'gap' value is set to 3 (or more) neither * nor # would be equalised.
  1138.  
  1139. 'How many characters/line (min)?'  (Default '1') --* Text files ONLY *--
  1140. The purpose of this option is to ensure that during equalising of blank 
  1141. lines blank lines are not inserted (although dummy lines can be inserted 
  1142. opposite blank lines).
  1143.  
  1144. The only time it's worth changing the default option is when a text file 
  1145. contains hardly any blank lines, in which case change this setting to '0.' 
  1146.  
  1147. 'What is the maximum number of lines for a 'gap'? ' 
  1148. To ensure equalisation set this value just larger than the largest 
  1149. number of lines inserted into either file. For example if one of the 
  1150. files has had several lengthy paragraphs, each less than 50 lines, 
  1151. inserted then '50' lines will be sufficient. On the other hand if one 
  1152. paragraph of 150 lines has been inserted you'll need to up the value 
  1153. to at least this figure to equalise the files.
  1154.  
  1155. In the example above:
  1156. If the value is set to '1' then * would not be equalised but # would.
  1157. If the value is set to '2' (or more) both * and # would be equalised.
  1158.  
  1159. Lines can also be inserted manually in the appropriate file by pressing:
  1160. [Insert]+[Left Shift]  to add a line to the left hand file.
  1161. [Insert]+[Right Shift] to add a line to the right hand file.
  1162.  
  1163. 'Start at:' 
  1164. 'Beginning:'        [Alternate]+[B]  Search begins at the start of the files. 
  1165. 'Cursor position:'  [Alternate]+[P]  Search begins from the current position.
  1166.  
  1167. You can toggle between these two options. A round filled button shows 
  1168. the active mode.
  1169.  
  1170. 'Keywords:' 
  1171. Use this option to equalise files which contain frequently repeated 
  1172. keywords at the start of lines.
  1173. A check box offers a choice between:
  1174. 'Unchecked:' Default: Keywords are ignored
  1175. 'Checked:'   The file selector appears prior to equalisation from which 
  1176.            you can select a previously prepared ASCII file of keywords. 
  1177.            If a keyword is encountered during equalisation and no 
  1178.            corresponding line exists in the opposite file, the opposite 
  1179.            file will be equalised by inserting line/s.
  1180.            All other lines are NOT equalised. This option is handy for 
  1181.            aligning source code, especially if normal equalisation 
  1182.            doesn't yield sensible results.
  1183.  
  1184.  
  1185. Example keyword file
  1186.  
  1187. For GFA Basic source code in LST format a simple two line file:
  1188.  
  1189. PROCEDURE
  1190. FUNCTION
  1191.  
  1192. should be suitable. Create a file containing the two lines above and 
  1193. save them in ASCII format. Something similar should be possible for 
  1194. Pascal or Modula-2. Some assemblers even support '>PART' in their 
  1195. display, which aids equalisation.
  1196.  
  1197. Égale uses an intelligent algorithm for automatic equalisation and 
  1198. equalises most files efficiently. The algorithm isn't foolproof and if 
  1199. the files are very different will take much longer and be more likely 
  1200. to suffer errors. A status window displays progress and, via the [Esc] 
  1201. key offers an opportunity to abort equalisation if the task is taking 
  1202. too long for your liking.
  1203.  
  1204. Hints & tips
  1205.  
  1206. Before starting equalisation use the 'First difference'  [Control]+[1] 
  1207. option from the 'Find' menu to jump to the first line to be equalised.
  1208.  
  1209. When equalising text files with numbered chapters/section (e.g. this file) 
  1210. set Égale to ignore chapter numbers in the 'Comparison mode'  dialog in the 
  1211. 'Options' menu.
  1212.  
  1213. --> Unregistered?
  1214.     Automatic line equalisation is only available to registered users.
  1215.  
  1216. 3.6 First difference OR First identical line
  1217.  
  1218. Select this option to jump to either the 'First difference' OR the
  1219.  'First identical line' depending on the 'Search for' setting in the  
  1220.  'Comparison mode' dialog.
  1221.  
  1222. 3.7 Next difference OR Next identical line
  1223.  
  1224. Select this option to jump to either the 'Next difference' OR the 
  1225.  'Next identical line' depending on the 'Search for' setting in the 
  1226.  'Comparison mode' dialog.
  1227.  
  1228.  
  1229. ____________________________________________________________________________
  1230.  
  1231. *****4. 'Edit' drop down menu
  1232.  
  1233.  
  1234.  
  1235. 4.1 Undo
  1236.  
  1237. Press the [Undo] key to reverse the last change made in the topped window: 
  1238. If a line has been deleted it will be re-inserted at the correct position.
  1239. If a blank line has been inserted it will be deleted again.
  1240.  
  1241. Note!
  1242. If more than one line was inserted or deleted this cannot be reversed using 
  1243. the 'Undo' function.
  1244.  
  1245. 4.2 Insert text line...
  1246.  
  1247. Select this option to display the 'Insert text' dialog which features the 
  1248. Égale line editor. The following options are available:
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266. 'Editor:'  Enter the desired text, or ASCII decimal or hex values, into the 
  1267. edit line. The line scrolls in real time to accommodate long lines. The 
  1268. character cursor can be positioned with a mouse click or scrolled using 
  1269. the [Left-arrow] and [Right-arrow] keys. If you also press one of the 
  1270. [Shift] keys the cursor will jump to the start or the end of the line 
  1271. respectively.
  1272.  
  1273. 'Mode:'  In decimal/hex mode multiple decimal or hex values input on 
  1274. one line are automatically grouped into triplets and pairs (each 
  1275. corresponding to one character) respectively. In binary mode, each 
  1276. character or decimal/hex equivalent will produce a separate line in the 
  1277. file.
  1278.  
  1279. There are 3 modes according to the size of the values:
  1280.  
  1281.  
  1282. - Bytes                 (0-255 = $00-$FF)
  1283. - Words (2 Bytes each)  (0-65535 = $0000-$FFFF)
  1284. - Longs (4 Bytes each)  (0-4294967295 = $00000000-$FFFFFFFFF)
  1285.                         (-> all unsigned)
  1286.  
  1287.  
  1288. When editing in 'word' or 'long' values, values are automatically grouped, 
  1289. each group representing 2 or 4 bytes.
  1290.  
  1291.  
  1292. 'Insert:' [Alternate]+[I]    Characters typed into the editor line are 
  1293.                            inserted at the cursor position, existing text 
  1294.                            moves along with the cursor.
  1295. 'Overwrite:' [Alternate]+[W] Characters typed into the editor line overwrite 
  1296.                            any existing characters at the cursor position.
  1297.  
  1298. You can toggle between these two options. A round filled button shows the 
  1299. active mode.
  1300.  
  1301. 'Transfer:'  [Alternate]+[R]
  1302.  
  1303. With the 'Transfer' button you can copy the adjacent line from the other 
  1304. file to the edit line, then insert it (with or without changes) in the 
  1305. file you are editing.
  1306.  
  1307. 'Display as:' 
  1308. 'Text:'    [Alternate]+[T]  Display and edit lines as text
  1309. 'Decimal:' [Alternate]+[D]  Display and edit ASCII values in decimal format.
  1310. 'Hex:'     [Alternate]+[H]  Display and edit ASCII values in hex format.
  1311.  
  1312. In hex or decimal mode the individual ASCII values of the characters are 
  1313. displayed, which makes it possible to enter characters not normally 
  1314. accessible from the keyboard. For example, enter '144' in 'Decimal' mode 
  1315. or '90' in 'Hex' mode, then switch to 'Text' mode and 'É' appears in the 
  1316. edit line.
  1317.  
  1318. You can toggle between these three options and the text in the edit line 
  1319. is updated in real time. A round filled button shows the active mode.
  1320.  
  1321. Note!
  1322. In text files the input of ASCII NULL (decimal 0 or hex $00) characters is 
  1323. not possible.
  1324.  
  1325. Select 'OK' to insert the text into the file at the current line cursor 
  1326. position or 'Cancel' to exit the dialog without making any changes.
  1327.  
  1328.  
  1329. The [Shift] key
  1330.  
  1331. If two files have been loaded, all the functions in the 'Edit' menu are 
  1332. sensitive as to which [Shift] key is being pressed at the time:
  1333. The [Left Shift] key applies a function to the left hand file of the
  1334. topped window,
  1335. the [Right Shift] key applies a function to the right hand file of the
  1336. topped window.
  1337.  
  1338. Égale (in common with many other programs) precedes the filename in
  1339. the window header bar with an asterisk '*' for each file which has
  1340. been changed since loading (or last saving).
  1341.  
  1342. 4.3 Edit text line...
  1343.  
  1344. The line on which the line cursor is positioned will be displayed in the 
  1345. editor, where it can be edited. This option is functionally identical to 
  1346.  'Insert text line...'  as described above, except that it modifies existing 
  1347. lines rather than creating new ones.
  1348.  
  1349. In binary mode, 100 bytes are simultaneously loaded into the editor.
  1350.  
  1351.  
  1352. The [Shift] key
  1353.  
  1354. If two files have been loaded, all the functions in the 'Edit' menu are 
  1355. sensitive as to which [Shift] key is being pressed at the time:
  1356. The [Left Shift] key applies a function to the left hand file of the
  1357. topped window,
  1358. the [Right Shift] key applies a function to the right hand file of the
  1359. topped window.
  1360.  
  1361. Égale shows with an asterisk in front of the filename in the mover bar
  1362. of the window that the file has been altered.
  1363.  
  1364. 4.4 Insert line
  1365.  
  1366. It's often the case that a displacement of a single line is enough to make 
  1367. the entire remainder of the compared files mismatch. Using this option to 
  1368. insert a dummy line/s before the line on which the line cursor is 
  1369. positioned makes it possible to manually re-align files. Dummy lines are 
  1370. shown as black bars, the line numbering takes inserted lines into account. 
  1371. To insert 'real' text lines refer to 4.2 Insert text line... 
  1372.  
  1373. By holding down the [Control] key as well as the desired [Shift] key or 
  1374. while selecting the menu option, the 'Insert dummy lines' dialog is 
  1375. displayed. Any number of lines up to 999 can be entered but there is a 
  1376. pre-defined limit to the number of lines which can be inserted/deleted in 
  1377. each file which is set using the 'Maximum number of insertions and 
  1378. deletions per file' option in the 'Comparison mode' dialog from the 
  1379. 'Options' menu; refer to 6.1 Comparison mode... for details.
  1380.  
  1381.  
  1382. The [Shift] key
  1383.  
  1384. If two files have been loaded, all the functions in the 'Edit' menu are 
  1385. sensitive as to which [Shift] key is being pressed at the time:
  1386. The [Left Shift] key applies a function to the left hand file of the
  1387. topped window,
  1388. the [Right Shift] key applies a function to the right hand file of the
  1389. topped window.
  1390.  
  1391. 4.5 Delete line
  1392.  
  1393. The line on which the cursor is positioned can be deleted using this 
  1394. option; the line numbering takes deleted lines into account.
  1395.  
  1396.  
  1397. The [Shift] key
  1398.  
  1399. If two files have been loaded, all the functions in the 'Edit' menu are 
  1400. sensitive as to which [Shift] key is being pressed at the time:
  1401. The [Left Shift] key applies a function to the left hand file of the
  1402. topped window,
  1403. the [Right Shift] key applies a function to the right hand file of the
  1404. topped window.
  1405.  
  1406. 4.6 Load status log...
  1407.  
  1408. Use this option to load status log files. These will restore the displayed 
  1409. file to the same condition as when the status log was saved, even though 
  1410. the main file itself may not have altered in any way.
  1411.  
  1412. When loading any file Égale looks in the file's directory and the main 
  1413. Égale path for a file with a matching name and either a '.EGA' or '.EGB' 
  1414. extension. If such a file is found then, provided the log file goes with 
  1415. the file in question, the status log will be loaded automatically (because 
  1416. the name and path of the associated file is saved in the log file).
  1417.  
  1418.  
  1419. The [Shift] key
  1420.  
  1421. If two files have been loaded, all the functions in the 'Edit' menu are 
  1422. sensitive as to which [Shift] key is being pressed at the time:
  1423. The [Left Shift] key applies a function to the left hand file of the
  1424. topped window,
  1425. the [Right Shift] key applies a function to the right hand file of the
  1426. topped window.
  1427.  
  1428. Hints & tips
  1429.  
  1430. With this function you can transfer additions made to a file simply to 
  1431. another file; just find the differences and equalise the other file by 
  1432. inserting blank lines. Now you can save the status, load in the target file 
  1433. and also load the saved status log on that side; the inserted dummy lines 
  1434. will be applied to the file and only have to be turned into text lines by 
  1435. using the 'Transfer' feature in 'Edit text line...'  as often as required.
  1436.  
  1437. 4.7 Save status...
  1438.  
  1439. A status log file containing any inserted or deleted lines can be saved 
  1440. with the extension '.EGA' for a text file, or '.EGB' for a binary file.
  1441.  
  1442.  
  1443. The [Shift] key
  1444.  
  1445. If two files have been loaded, all the functions in the 'Edit' menu are 
  1446. sensitive as to which [Shift] key is being pressed at the time:
  1447. The [Left Shift] key applies a function to the left hand file of the
  1448. topped window,
  1449. the [Right Shift] key applies a function to the right hand file of the
  1450. topped window.
  1451.  
  1452. Hints & tips
  1453.  
  1454. With this function you can transfer additions made to a file simply to 
  1455. another file; just find the differences and equalise the other file by 
  1456. inserting blank lines. Now you can save the status, load in the target file 
  1457. and also load the saved status log on that side; the inserted dummy lines 
  1458. will be applied to the file and only have to be turned into text lines by 
  1459. using the 'Transfer' feature in 'Edit text line...'  as often as required.
  1460.  
  1461. 4.8 Clear status...
  1462.  
  1463. If at any time you're not satisfied with the lines that you or the 
  1464. program has inserted or deleted you can use this option to remove 
  1465. them again. Note that this does NOT undo any changes you may have 
  1466. made using 'Insert text line...'  or 'Edit text line...' .
  1467.  
  1468.  
  1469. The [Shift] key
  1470.  
  1471. If two files have been loaded, all the functions in the 'Edit' menu are 
  1472. sensitive as to which [Shift] key is being pressed at the time:
  1473. The [Left Shift] key applies a function to the left hand file of the
  1474. topped window,
  1475. the [Right Shift] key applies a function to the right hand file of the
  1476. topped window.
  1477.  
  1478.  
  1479. ____________________________________________________________________________
  1480.  
  1481. *****5. 'Window' drop down menu
  1482.  
  1483.  
  1484.  
  1485. 5.1 Cycle
  1486.  
  1487. Select this option to change the topped window in turn, cycling through 
  1488. all open windows.
  1489.  
  1490. 5.2 Help
  1491.  
  1492. Select the 'Help' option to display the 'Main window keyboard commands' 
  1493. dialog or 'One-line window keyboard commands' depending on which window is 
  1494. currently topped. The [Help] key can be used instead.
  1495.  
  1496. When a dialog is open the [Help] key calls up a context-sensitive help text. 
  1497. This is present as a so-called hypertext and to use it you need to install 
  1498. a suitable help system that can display it. 'ST-Guide' by Holger Weets is 
  1499. a very compact and easy to use example. It is freeware and is available 
  1500. from most well-ordered mailboxes and PD libraries. It is best to copy it 
  1501. in its DA form to the root directory of your boot drive and then re-set 
  1502. the computer. Égale needs the files EGALE.HYP and EGALE.REF and calls 
  1503. ST-Guide automatically. If ST-Guide is present you will find a 'HELP' 
  1504. button in the dialog boxes that leads to a suitable help page in the 
  1505. hypertext when activated.
  1506.  
  1507.  (ST-Guide is also available for 10 DM and two
  1508.   International Reply Coupons from Holger Weets,
  1509.   Tangastr. 45, D-26121 Oldenburg, Germany).
  1510.  
  1511. 5.3 Files
  1512.  
  1513. Beneath the Cycle and Help options the names of the files contained in 
  1514. the last 10 (maximum) opened windows are listed. Open windows are denoted 
  1515. with a tick before the menu option. Clicking on any listed entry (or 
  1516. pressing [Alternate]+indicated number) tops the selected window. If the 
  1517. window wasn't currently open it will be re-opened.
  1518.  
  1519.  
  1520. ____________________________________________________________________________
  1521.  
  1522. *****6. 'Options' drop down menu
  1523.  
  1524.  
  1525.  
  1526. 6.1 Comparison mode...
  1527.  
  1528. Select this option to display the 'Comparison mode' dialog. Égale is 
  1529. designed to find differences or correspondences with the minimum fuss, 
  1530. and the global options are set using this dialog.
  1531.  
  1532. 'Search for:' 
  1533. 'Correspondences:' [Alternate]+[R]  Finds similarities between files.
  1534. 'Differences:'     [Alternate]+[D]  Default. Finds differences between files. 
  1535. These are emphasised according to the option set in the 'Emphasis...'  dialog.
  1536.  
  1537. The following settings in this dialog take effect for all functions, 
  1538. i.e. also for line equalisation and functions such as 'Next difference.' 
  1539.  
  1540. 'Lines:' 
  1541. 'Treat as strings:'  [Alternate]+[T] 
  1542. '... numbers:'       [Alternate]+[N]
  1543. If lines are treated as numbers the percentage value set in the 
  1544. 'Tolerance' field is used to determine whether Égale considers the 
  1545. numbers as equal. This option is not available in binary mode!
  1546.  
  1547. 'Ignore:'  Check boxes are provided so Égale can ignore:
  1548. 'Caps=l.c:'      [Alternate]+[L] Case sensitivity is not taken into account.
  1549. 'Spaces:'        [Alternate]+[S] Leading spaces and tabs are ignored.
  1550. 'Chap.numbers:'  [Alternate]+[H] Leading numbers (i.e. at the beginning   
  1551.                                of a line) are ignored. This option is   
  1552.                                handy when comparing texts with numbered  
  1553.                                paragraphs, sections, chapters etc.
  1554.                                It's also useful when sections of text  
  1555.                                have been inserted/deleted which affect 
  1556.                                numbering.
  1557. 'Editor:'  [Alternate]+[E]
  1558. Sets the path to an optional external text editor. Click inside the box 
  1559. to call the file selector, then select your desired text editor. The 
  1560. editor can be called and pre-loaded (the filename(s) are passed as 
  1561. parameters) with one or two files displayed in the topped window using 
  1562. the [Control]+[E] keyboard shortcut.
  1563.  
  1564. 'Maximum insertions and deletions per file:' 
  1565. When Égale loads a file it reserves memory to insert/delete lines. 
  1566. 4 bytes are needed for each dummy line insertion and each deletion 
  1567. so this setting determines the amount of memory used. Égale considers 
  1568. the size of the loaded file to set a default value, but you can edit 
  1569. this value as necessary. The following alert may appear:
  1570. 'Further insertion not possible, due to lack of buffer space' if you try to 
  1571. allocate too much memory.
  1572.  
  1573. Important
  1574. This setting only comes into effect next time Égale loads a file.
  1575.  
  1576. --> Unregistered?
  1577.     Changes made to this dialog cannot be activated. You can only search 
  1578.     for differences, and lines are always compared as strings.
  1579.  
  1580. 6.2 Number lines
  1581.  
  1582. Égale can also number individual lines consecutively. For this press 
  1583. [Alternate]+[N] or click on the 'Number lines' option in the 'Options' 
  1584. drop down menu.
  1585.  
  1586. 6.3 Emphasis...
  1587.  
  1588. Select this option to display the 'Mark target area' dialog which offers 
  1589. the following options:
  1590.  
  1591. 'Off:'            [Alternate]+[F]  Switches emphasis off.
  1592. 'Coloured:'       [Alternate]+[L]  Uses the colours selected in the 'Colours' 
  1593.                                  dialog.
  1594. 'Rest grey:'      [Alternate]+[R]  Default. Excluded lines are greyed out.
  1595. 'Bold:'           [Alternate]+[B]  Included lines displayed in bold 
  1596.                                  characters.
  1597. 'Hide the rest:'  [Alternate]+[H]  Excluded lines not displayed.
  1598. 'Divider only'    [Alternate]+[D]  The dividing-bar between excluded lines  
  1599. ' there:'                          is deleted. This makes it easy to see 
  1600.                                  differences/correspondences quickly.
  1601. 'Mark single'     [Alternate]+[M]  Characters are checked individually and 
  1602.  'characters:'                     target characters (those being searched 
  1603.                                  for) are highlighted with a grey pattern 
  1604.                                  so you can see precisely what's changed.
  1605.       Below this button is a pop-up menu which allows further options 
  1606.       to be chosen that are only active when 'Mark single characters:'  
  1607.       has been selected:
  1608.  
  1609. 'First target'   Highlights the first character in a line that is different 
  1610.                (or equal); only one character is selected in each case.
  1611.  
  1612. 'All'            Égale compares each character in the two lines individually 
  1613.                and highlights all differences/correspondences. This option 
  1614.                is slow, especially on long lines, so only use it where 
  1615.                you're likely to get sensible results!
  1616.  
  1617. 'Insertions'     Is the most intelligent but also the slowest setting.
  1618.                Égale establishes where portions of text have been added  
  1619.                and highlights them. If correspondences are being searched  
  1620.                for (in 'Comparison mode'  dialog, see 2.2.1) the whole 
  1621.                line except for the insertion will be highlighted.
  1622.                Again only use this option where you are likely to get 
  1623.                sensible results.
  1624.                The algorithm used for this option is complex which takes 
  1625.                time and requires a certain amount of intelligence from 
  1626.                the computer. Since computers are pretty dumb Égale 
  1627.                occasionally isn't able to display perfect results!
  1628.  
  1629.  
  1630. Hints & tips
  1631.  
  1632. The most sensible emphasis setting is probably 'Rest grey,' because you can 
  1633. easily see the differing or corresponding lines. However, empty lines are 
  1634. NOT emphasised in this mode. Turn on line numbering to easily locate empty 
  1635. lines.
  1636.  
  1637. --> Unregistered?
  1638.     This dialog is not available. You can toggle 'Emphasis...' on (which 
  1639.     selects the 'Rest grey' option) and off.
  1640.  
  1641. 6.4 Display...
  1642.  
  1643. Select this option to bring up the 'Display' dialog. The following options 
  1644. are available:
  1645.  
  1646. 'Display line cursor as:'   Four alternative displays are provided:
  1647. 'Inverted bar'    [Alternate]+[I] (default)
  1648. 'Outlined bar'    [Alternate]+[U]
  1649. 'Small bar'       [Alternate]+[M]
  1650. 'Arrows'          [Alternate]+[R]
  1651.  
  1652. 'TABs:'           [Alternate]+[T], then select with [Up/Down-arrow]
  1653. You can choose here whether and how tab stops in text files (and spaces
  1654. between the columns in binary files) are to be displayed. '(In the text
  1655. below, the asterisk '*' is used in place of the ASCII 9 'clock' character 
  1656. of the actual dialog, since the latter does not show up in text.)' 
  1657.  
  1658. 'Off, As *'       Shows each set tab stop as the ASCII 9 Tab character,
  1659.                 with no filling.
  1660. 'Fill with *'     Fills the tabbed portions of lines with ASCII 9 characters. 
  1661. 'Fill with ' ''   Fills the tabbed portions with spaces.
  1662.  
  1663. See Examples for the effect of these options.
  1664.  
  1665. 'Width:' 
  1666. Enter a value into the editable field. This number is used every time an 
  1667. ASCII Tab character is encountered to increment the next column position
  1668. to a multiple of the value. 
  1669.  
  1670. 'Sub-division:' 
  1671. Text or binary files can be sub-divided into groups of lines using a faint 
  1672. horizontal line. Enter the desired value into the editable field. Note that 
  1673. 2 and 4 line divisions can also be achieved with the corresponding keys 
  1674. on the numerical keypad at any time without calling this dialog.
  1675.  
  1676. With the [1], [2], [4] and [0] keys of the numerical keypad you can 
  1677. switch between these options without first having to call up the above 
  1678. dialog.
  1679.  
  1680.  
  1681. Hints & tips
  1682.  
  1683. This option is particularly suitable when viewing binary files as the line 
  1684. can be used to display the boundaries between words and longs.
  1685. Set to '2' to display word boundaries.
  1686. Set to '4' to display long boundaries.
  1687.  
  1688. 'Info line:'  [Alternate]+[I]
  1689. Select the check box to display an Info line just under the GEM Window 
  1690. header bar. Default is off '(unchecked).' 
  1691. In text mode the length the line highlighted by the line cursor is shown 
  1692. for both files.
  1693. In binary mode the character at the cursor and the following values will 
  1694. be evaluated and displayed:
  1695. A word value 'W:' from the 2 characters or bytes starting at the cursor 
  1696. position), a long value 'L:' (4 characters) and a long value in
  1697. hexadecimal form.
  1698.  
  1699. This is useful for analysing file formats or during comparison to recover 
  1700. data values (for example, version numbers in INF files etc).
  1701.  
  1702. --> Unregistered?
  1703.     This dialog is not available. The defaults apply so no Info line!
  1704.  
  1705. 6.5 Fonts...
  1706.  
  1707. Select this entry from the 'Options' menu to display the 'Select font' 
  1708. dialog. Using this dialog you can select the font and point size to be 
  1709. displayed in the main window from any of the available options.
  1710. If GDOS (or equivalent) and a valid 'ASSIGN.SYS' is installed GDOS screen 
  1711. fonts can be selected. Égale does not support the use of proportional 
  1712. fonts. The following options are available:
  1713.  
  1714. 'Used for:'  [Alternate]+[F]
  1715.            A pop-up menu sets the font and point size for each of the 
  1716.            following options (different fonts/sizes can be applied to each):
  1717.           'File window(s)' 
  1718.           'One-line window(s)' 
  1719.           'Topmost window' 
  1720.            A preview window displays a sample of the selected font and 
  1721.            point size.
  1722. 'Font:'      [Alternate]+[T]
  1723.            A pop-up menu displays all installed fonts; select the desired 
  1724.            font.
  1725. 'Size:'      [Alternate]+[S]
  1726.            A pop-up menu displays a choice of point sizes. The choice 
  1727.            depends on active font selected.
  1728.  
  1729. 6.6 Colours...
  1730.  
  1731. Select this option to display the 'Colours' dialog. Each of the 
  1732. following options display a pop-up menu from which the desired colour 
  1733. can be selected:
  1734.  
  1735. 'Standard:'       [Alternate]+[S]   Default 'Black.' Used for all lines 
  1736.                                   other than those emphasised.
  1737. 'Inserted line:'  [Alternate]+[I]   Default 'Yellow.' Used for inserted lines.
  1738.  
  1739. In the 'Special' box: 
  1740. 'Emphasis:'       [Alternate]+[E]   Default 'Red.' Used for emphasised lines.
  1741. 'Single'          [Alternate]+[H]   Default 'Pattern.' Used to highlight 
  1742.  'character:'                      individual characters. The pattern 
  1743.                                   option is provided specifically for 
  1744.                                   monochrome displays.
  1745.  
  1746. The colours available depend on your system. At 640x200 (ST medium) 
  1747. you'll have 4 colours to chose from whereas on the TT or Falcon and 
  1748. with some graphics cards up to 16 colours will be available. Although 
  1749. the defaults are colours, monochrome users will not find these 
  1750. available for selection in the pop-ups!
  1751.  
  1752. Important!
  1753. The 'Special' options are only active if 'Coloured' is selected in the 
  1754. 'Mark target area' of the 'Options/Emphasis...' dialog.
  1755.  
  1756. --> Unregistered?
  1757.     Because the 'Emphasis...' dialog is unavailable in the unregistered 
  1758.     version you cannot select the 'Coloured' option so the 'Special' 
  1759.     options are not available.
  1760.  
  1761. 6.7 Save settings...
  1762.  
  1763. Select this option to display the file selector which can be used to save 
  1764. the following settings to an .INF file:
  1765. - Settings selected for each file, including search text etc.
  1766. - Window and dividing-bar positions.
  1767. - Names of loaded files.
  1768. On starting Égale the file 'EGALE.INF' if found is loaded automatically.
  1769.  
  1770. 6.8 Load saved settings...
  1771.  
  1772. Select this option to display the file selector which can be used to load 
  1773. an .INF file. After selecting the desired .INF file a dialog appears asking 
  1774. whether the existing open windows should be closed before new or additional 
  1775. files are loaded. The following options are available:
  1776.  
  1777. 'No:'          [Alternate]+[N] or [Return]
  1778.              The selected INF file is not loaded.
  1779. 'Yes:'         [Alternate]+[Y]
  1780.              The existing window/s are closed and the INF file and 
  1781.              associated files and settings are loaded.
  1782. 'Additional:'  [Alternate]+[A]
  1783.              The existing window/s remain on screen and the INF file and 
  1784.              associated files and settings are superimposed.
  1785.  
  1786. 6.9 Quick save and exit
  1787.  
  1788. In addition to the normal saving of the default settings you can use this 
  1789. option to exit Égale and save your work and settings.
  1790.  
  1791. This option doesn't overwrite 'EGALE.INF' but creates a second, temporary, 
  1792. parallel file called 'EGALE.TMP' in the same directory as 'EGALE.PRG'.  
  1793. Next time Égale is started 'EGALE.TMP' is read in preference to 'EGALE.INF', 
  1794. Égale is restored to its previous environment and 'EGALE.TMP' is deleted.
  1795.  
  1796.  
  1797. ____________________________________________________________________________
  1798.  
  1799. *****7. Other functions
  1800.  
  1801.  
  1802.  
  1803. 9.1 Display functions
  1804.  
  1805. In most cases when two text files have been loaded the lines will exceed 
  1806. the width of the window, so you won't be able to see the entire line. 
  1807. By moving the dividing bar the hidden portion can be revealed.
  1808.  
  1809. The dividing bar can be moved to any position within the window by 
  1810. dragging it with the mouse. Alternatively the following keyboard 
  1811. shortcuts also move the dividing bar:
  1812.  
  1813. '(Use the bracket keys on the number pad)' 
  1814. [(]            5 characters to left.
  1815. [)]            5 characters to right.
  1816. [Shift]+[(]    1 character left.
  1817. [Shift]+[)]    1 character right.
  1818. [Control]+[(]  To left margin, displays right hand file.
  1819. [Control]+[)]  To right margin, displays left hand file.
  1820. [Esc]          Toggles between left and right hand file display.
  1821. [Space]        Returns divider bar to its default screen centre position.
  1822.  
  1823. Instead of moving the dividing bar it's also possible to scroll the text 
  1824. sideways within the text windows. The following options are available:
  1825.  
  1826. [Left-arrow]             5 characters to left.
  1827. [Right-arrow]            5 characters to right.
  1828. [Shift]+[Left-arrow]     1 character to left.
  1829. [Shift]+[Right-arrow]    1 character to right.
  1830. [Control]+[Left-arrow]   1 screen width to left. *
  1831. [Control]+[Right-arrow]  1 screen width to right. *
  1832.  
  1833.  
  1834. The line cursor can be moved within the text window using the following 
  1835. options (the [Control] key can be used in place of the [Shift] key if 
  1836. prefered):
  1837.  
  1838. [Up-arrow]               1 line up.
  1839. [Down-arrow]             1 line down.
  1840. [Shift]+[Up-arrow]       1 page up.
  1841. [Shift]+[Down-arrow]     1 page down.
  1842. [ClrHome]                To start of text.
  1843. [Shift]+[ClrHome]        To end of (the longer) text.
  1844.  
  1845. 9.2 Single line comparison using one-line windows
  1846.  
  1847. A double mouse click on any line or pressing Return opens the one-line
  1848. GEM window which displays the same line number from both files above
  1849. one another. This means the lines are displayed the full width of the
  1850. screen and is particularly useful to check exactly how the two lines
  1851. differ/agree. The characters in a one-line window are always compared
  1852. individually and the differences or correspondences highlighted (the
  1853. options are described in more detail in the 'Emphasis...' dialog,
  1854. refer to the 'Mark each character' and 'All'  options in 2.2.2).
  1855.  
  1856. In the one-line window each of the two text lines shows a double marker 
  1857. line starting where the line finishes and running to the right edge of 
  1858. the window. Thanks to this marker line you can easily establish the real 
  1859. length of each line, since it is easy to miss one or more spaces hanging 
  1860. at the end of the line and then wonder why Égale marks two apparently 
  1861. identical lines as 'different'.
  1862.  
  1863. The cursor [Up-arrow] and [Down-arrow] or window up and down scroll arrows 
  1864. automatically perform a 'Next difference' / 'Next identical line' command.
  1865. Holding down either the [Shift] or [Control] keys while pressing the cursor 
  1866. keys enables normal line by line scrolling.
  1867.  
  1868. A double click in the one-line window sets the line cursor in the main 
  1869. window to the line clicked on in the one-line window.
  1870.  
  1871. 9.3 Moving files
  1872.  
  1873. Files can be dragged between Égale windows and the desktop (i.e the
  1874. background) which makes it easy to compare and view any desired
  1875. file(s). For example, let's consider two windows which each contain
  1876. two files:
  1877.  
  1878. Window 1 contains: A.TXT  B.TXT
  1879. Window 2 contains: C.TXT  D.TXT
  1880.  
  1881. Currently A.TXT is being compared with B.TXT and C.TXT is being
  1882. compared with D.TXT. Let's suppose we'd like to compare A.TXT with
  1883. D.TXT. To do this a 'click and drag' mouse action is used:
  1884.  
  1885. Hold down either [Shift] key then click and hold down the left mouse
  1886. button anywhere inside window 1 over B.TXT which displays an icon.
  1887. Drag and release the icon over D.TXT in window 2 and Égale
  1888. automatically exchanges B.TXT and D.TXT so the windows look like this:
  1889.  
  1890. Window 1 contains: A.TXT  D.TXT
  1891. Window 2 contains: C.TXT  B.TXT
  1892.  
  1893. To move the files back to their original windows simply reverse the
  1894. process. It's also possible to split a window comparing two files into
  1895. two windows each displaying a single file. To do this drag either file
  1896. onto the desktop (whilst holding down the [Shift] key).
  1897.  
  1898. In summary:
  1899. Drag a file into a two file window to exchange files.
  1900. Drag a file into a single file window to move a file.
  1901. Drag a file onto the desktop to create a new file window.
  1902. 9.4 Quick save and exit     [Shift]+[Control]+[Q]
  1903.  
  1904.  
  1905. ____________________________________________________________________________
  1906.  
  1907. *****8. Advanced Égale features
  1908.  
  1909.  
  1910. This chapter is designed to explain some of the advanced system features 
  1911. Égale can take advantage of. It's NOT designed for beginners, who should 
  1912. refer to the earlier chapters.
  1913.  
  1914.  
  1915. 8.1 Passing parameters
  1916.  
  1917. Égale can be called from a DOS type shell so long as the command line 
  1918. passes parameters via the desktop for Égale to evaluate. Under multitasking 
  1919. systems, so long as your shell supports them, you can drag two files to 
  1920. Égale's icon without Égale being loaded unnecessarily a second time.
  1921.  
  1922. Input the name of the file(s) you want to load. This may contain a path: 
  1923.  
  1924.   EGALE file_s.txt
  1925. (if this file is to be loaded)
  1926.   EGALE file_a.txt file_b.txt
  1927. (if these two files are to be loaded and compared).
  1928.  
  1929. This eliminates the automatic appearance of the file selector when the 
  1930. program starts.
  1931.  
  1932. Passing '-b' as an additional parameter causes Égale to load the files
  1933. in binary mode:
  1934.  
  1935.   EGALE -b bugged.prg new.prg
  1936.  
  1937. Power users may like to use wildcards, both '*' and '?' are supported. 
  1938. Égale will search for files that fit the entered file 'mask'.
  1939.  
  1940. If both names have the same search pattern then the second name can be 
  1941. omitted. Example:
  1942.  
  1943. EGALE erg?.dat    compares the files  ERGA.DAT   and  ERGB.DAT
  1944. EGALE TEXT*.DOC   compares the files  TEXT_1.DOC and  TEXT_21X.DOC
  1945.  
  1946. Note: Filename/s may not start with the '*' character.
  1947.  
  1948. The file data can also contain a path. If two files with the same name but 
  1949. in different folders are to be compared then you only need to input the 
  1950. folder for the second name. For example if:
  1951.  
  1952. EGALE \tex\letter.tex \tex\doc\
  1953.  
  1954. is passed Égale compares the two files:
  1955.  
  1956. \TEX\LETTER.TEX  and  \TEX\DOC\LETTER.TEX
  1957.  
  1958. Note:
  1959. For a given search pattern Égale will only find the first matching files in 
  1960. the relevant folder. If further files that match the pattern are present 
  1961. and Égale does not select the desired ones then the pattern will have to be 
  1962. specified more precisely.
  1963.  
  1964. It's also possible to input a single filename fully, in which case the path 
  1965. is adopted from the other file, e.g.:
  1966.  
  1967. EGALE \tex\file_a.txt file_b.txt
  1968.  
  1969. If you only pass one file name to Égale then only this file is loaded.
  1970.  
  1971. 8.2 Passing parameters using EGALEPAR.PRG
  1972.  
  1973. Unfortunately the GEM desktop can't pass two arguments to a program. 
  1974. Start EGALEPAR.PRG instead of EGALE.PRG. EGALEPAR starts then EGALE.PRG. To 
  1975. pass two arguments, first drag the first file on the EGALEPAR icon then 
  1976. drag the second file on the EGALEPAR icon. Then EGALEPAR starts EGALE.PRG, 
  1977. passing both arguments.
  1978.  
  1979. You can start EGALEPAR without parameters or passing two arguments as well. 
  1980. In this case EGALE.PRG is startet with these parameters.
  1981.  
  1982. Pressing the 'Control' key while starting EGALEPAR causes the program to 
  1983. clean its file buffer.
  1984.  
  1985. EGALEPAR.PRG must be in the EGALE folder!
  1986.  
  1987. EGALEPAR is written by Werner Buthe, Frankfurt.
  1988.  
  1989.  
  1990. ____________________________________________________________________________
  1991.  
  1992. *****9. Technical notes
  1993.  
  1994.  
  1995.  
  1996. 9.1 Protocols supported
  1997.  
  1998. - Égale understands VA_START. That means that under multitasking systems 
  1999.   and/or Égale installed with Gemini, files can easily be passed to Égale.
  2000. - Égale understands WM_UNTOPPED (WiNX). Provided you have WiNX installed 
  2001.   you can perform the Cycle windows function by a short click on the 
  2002.   title bar of the topped window.
  2003. - Égale supports UFSL (Universal File SeLector) if present.
  2004. - Égale supports ICFS (Iconify-Server) if present.
  2005. - For passing parameters Égale understands the xARG-(ARGV)-standard. 
  2006.   The process is also used for starting the editor.
  2007. - Égale can send AV_DRAG_ON_WINDOW-messages
  2008.  
  2009. 9.2 Known bugs
  2010.  
  2011. With horizontal scrolling and 'Mark single characters: All ' selected in the 
  2012. 'Emphasis...'  menu you can get disturbances with fonts whose width is not a 
  2013. multiple of 8 pixels due to interference from the emphasis pattern when 
  2014. 'Pattern' has been selected in the 'Options/Colours...'  menu. This can also 
  2015. happen with inserted lines and is a limitation of the VDI 'NOT' Égale!
  2016.  
  2017. 9.3 Hints & tips
  2018.  
  2019. The menu shortcuts follow Ofir Gal's GEM-list proposals as far as practical 
  2020. but remain fully editable using an RSC file or file editor, such as Égale.
  2021.  
  2022.  
  2023. ____________________________________________________________________________
  2024.  
  2025. *****10. Miscellaneous
  2026.  
  2027.  
  2028.  
  2029. 10.1 Credits
  2030.  
  2031. I would like to thank:
  2032.  
  2033. - Werner Buthe, Frankfurt Germany, for his friendly support when 
  2034.   programming some fast assembler routines and for teaching me 'correct' 
  2035.   assembler programming by telephone.
  2036. - Joe Connor, Colchester England, for editing the English documentation 
  2037.   and undertaking distribution of the program in England.
  2038. - Christof Schardt, Darmstadt Germany, for his good ideas and the 
  2039.   original program, COMPARE.
  2040. - Peter West, London England, for his hard work translating the program 
  2041.   and documentation into English.
  2042.  
  2043.  
  2044. Also thanks to the Beta testers:
  2045.   Rainer Albrecht, Aleks Almonacid-Lessmann, J.Jørgen von Bargen,
  2046.   Heinz Bokel, Robert Federle, Carsten Guthardt-Schulz, Werner Herrmann,
  2047.   John Mcloud, Reiner Show me Rosin, Robert Schaffner, 
  2048.   Manfred Ssykor, Gert Stamminger, Arndt Weinmann, Ralf Zimmermann.
  2049.  
  2050. Our thanks also to the users who, by registering, have encouraged 
  2051. the author to undertake further developments.
  2052.  
  2053. - Égale is programmed in GFA Basic. Program development was aided by 
  2054.   Ergo!pro from Columbus Soft.
  2055.  
  2056. 10.2 Warranty and liability
  2057.  
  2058. Whilst I will try to resolve any problems you may experience using Égale, 
  2059. my liability, and that of any agents I appoint, for any loss or 
  2060. consequential loss you may suffer due to the use of Égale is strictly 
  2061. limited to refunding your shareware fee.
  2062.  
  2063. - All trademarks used are recognised and acknowledged.
  2064. - All trademarks mentioned in the documentation are acknowledged and 
  2065.   recognised.
  2066.  
  2067. We all wish you every success using Égale.
  2068.